package errors

/**
* @api {post} /sys 系统类型错误
* @apiGroup ErrorCode
* @apiVersion 1.0.0
* @apiDescription 系统错误(100,102)
* @apiError 10002 文件类型错误
* @apiError 10003 读取数据库文件错误
* @apiError 10004 二维码生成异常
* @apiError 10005 文件生成异常
* @apiError 10006 文件查询失败
* @apiError 10007 文件保存错误

* @apiError 10100 请求参数为空或者格式错误
* @apiError 10101 请求参数属性空值校验
* @apiError 10102 请求参数,参数值与预设值不符,例如type只能传"sms"或者"pwd"，但是传了"code"
* @apiError 10103 请求参数传入必须为ptr格式

* @apiError 10200 json格式化错误
* @apiError 10201 json格式化为struct对象错误

* @apiError 10300 反射时，传入的对象有误

* @apiError 10400 Http请求生成出错

* @apiError 10500 jwt签名生成失败
* @apiError 10510 app应用参数为空
* @apiError 10511 app应用不存在
* @apiError 10512 app的数据类型错误，应为string
*/

func FsFileTypeErr(obj ... interface{}) error {
	return Exception{nil, 10002, "文件类型错误", obj}
}

func FsGetErr(obj ... interface{}) error {
	return Exception{nil, 10003, "读取数据库文件错误", obj}
}

func FsRQCreateErr(obj ... interface{}) error {
	return Exception{nil, 10004, "二维码生成异常", obj}
}

func FsCreateErr(obj ... interface{}) error {
	return Exception{nil, 10005, "文件生成异常", obj}
}

func FsSearchErr(obj ... interface{}) error {
	return Exception{nil, 10006, "文件查询失败", obj}
}
func FsSaveErr(obj ... interface{}) error {
	return Exception{nil, 10007, "文件上传保存错误", obj}
}
func FsNotFoundErr(obj ... interface{}) error {
	return Exception{nil, 10007, "文档没有找到", obj}
}

func ParamDataNilErr(obj ... interface{}) error {
	return Exception{nil, 10100, "请求参数为空或者格式错误", obj}
}

func ParamFieldNilErr(obj ... interface{}) error {
	return Exception{nil, 10101, "请求参数,属性空值校验失败", obj}
}

func ParamFieldTypeErr(obj ... interface{}) error {
	return Exception{nil, 10102, "请求参数,参数值与预设值不符", obj}
}

func ParamTypePtrErr(obj ... interface{}) error {
	return Exception{nil, 10103, "请求参数传入必须为ptr格式", obj}
}

func ParamNotInPtrErr(obj ... interface{}) error {
	return Exception{nil, 10104, "请求参数不爱队列中", obj}
}

func JsonStrfyErr(obj ... interface{}) error {
	return Exception{nil, 10200, "json格式化错误", obj}
}
func JsonParseStructErr(obj ... interface{}) error {
	return Exception{nil, 10201, "json格式化为struct错误", obj}
}

func RftTypeErr(obj ... interface{}) error {
	return Exception{nil, 10300, "反射时，传入的对象有误", obj}
}

func HttpRequestCreateErr(obj ... interface{}) error {
	return Exception{nil, 10400, "http请求生成出错", obj}
}
func HttpResponseParseErr(obj ... interface{}) error {
	return Exception{nil, 10401, "http响应解析出错", obj}
}
func HttpGetDataErr(obj ... interface{}) error {
	return Exception{nil, 10402, "http读取数据出错", obj}
}

func AuthJWTCreateErr(obj ... interface{}) error {
	return Exception{nil, 10500, "jwt签名生成失败", obj}
}

func AuthAppIdNilErr(obj ... interface{}) error {
	return Exception{nil, 10510, "app应用参数为空", obj}
}
func AuthAppNotFoundErr(obj ... interface{}) error {
	return Exception{nil, 10511, "app应用不存在", obj}
}
func AuthAppTypeErr(obj ... interface{}) error {
	return Exception{nil, 10512, "app的数据类型错误，应为string", obj}
}
func AppVersionLastestErr(obj ... interface{}) error {
	return Exception{nil, 10600, "当前已经是最新版本", obj}
}

func PipNonErr(obj ... interface{}) error {
	return Exception{nil, 20101, "请求错误", obj}
}

func ThirdHaoCangCommonErr(obj ... interface{}) error {
	return Exception{nil, 20200, "第三方平台昊沧通用错误", obj}
}